Fledermaus
version: 1.00
www.towerreversed.org


about

  fledermaus (ffldm.exe) is a fairly comprehensive rom editor for final
  fantasy legend and makai toushi saga (on the gameboy).
  
  ffldm.exe requires xb.dll in the same directory, and will also expect to
  find fconfig.txt when it starts up.

operation

  fledermaus can be controlled using either the keyboard or the mouse (in
  most cases.) the bar at the bottom of the window gives instructions for
  each situation. usually:
    arrow keys: move cursor
    z: select
    esc: cancel/exit
    enter: save (where applicable)
  
  some changes can be undone, others cannot: as a rule, if you see "Save" and
  "Cancel" buttons, selecting save will commit changes, selecting cancel will
  abandon them; if you only see an "Exit" button, changes are committed as
  soon as you make them.

  all changes are made to a temporary file until you select "Save ROM" from
  the main menu.

how to use

  1. edit fconfig.txt (optional, see below)
  2. run ffldm.exe
  3. select "Load ROM"
  4. browse to find a gb rom file (select "Up" for parent directory/drive)
     and select it
  5. select "Edit ROM"
  6. use the various menus to modify data
  7. return to the main menu and select "Save ROM"
  8. select a filename to save under; select "New File" to enter a new name
     (recommended)
  9. select "Quit"
 10. run a gb emulator, load the edited rom, and check whether your edits
     work as expected (recommended)

configuration

  edit fconfig.txt *before* running fledermaus to change various things,
  including which version of the rom you're modifying. the "format file"
  tells fledermaus how to interpret the rom and should be changed from
  formffl.txt - suitable for modifying ffl - to formsaga.txt or formsv11.txt,
  as appropriate, if you want to modify saga instead. read the comments in
  these files for more information.
  
  if you intend to use fledermaus to edit the game's maps, it's also worth
  checking this file to make sure the larger map window will fit on your
  screen.

information

  most aspects of fledermaus either should be self-explanatory, or are best
  understood by trying them out for yourself.

  * field effects
    - some abilities in ffl/saga can be used in the field, ie outside combat.
      the effect an ability has outside combat is entirely separate from its
      effect in combat (including target scope). only abilities 00~17 and
      80~86 can have field effects; all other items will do nothing ("Can't
      use"). an ability will also do nothing, regardless of what field effect
      is defined for it, if its "usable in field" flag is off.
  
  * graphics edit
    - the graphics editor gives you three ways to alter pixels: "cycle",
      which changes a pixel to the next of the four available colours;
      "plot", which sets a pixel to a particular colour; and "fill", which
      sets a pixel and all orthogonally linked pixels to a particular colour.
      there are different keys for each of these functions; you can set the
      mouse to perform any of them by clicking the options at the bottom of
      this screen. (fledermaus only recognises single mouse clicks, so you
      can't drag and draw.)
    - images larger than 16*16, such as "large pics" (enemy graphics) or
      composite map tiles (like castles), are edited one subtile at a time.
      the upper grid is the current subtile, while the lower image shows
      which part of the image the subtile is from. alternatively, the "zoom"
      function lets you edit the entire image at once, but with more limited
      options. (mouse clicks can only cycle pixels in this mode.)
    - you can import images from raw data in rom files, from bitmap files,
      or (for what it's worth) from the "lf text" format introduced in
      legendary fight.
  
  * maps
    - the maps in ffl/saga are stored as a series of drawing instructions,
      rather than an array of tile ids. consequently, map editing in
      fledermaus works by adding and removing map components, and not by
      changing individual tiles. as you'd expect, adding components increases
      the stored map size, and deleting components decreases the size
      (thereby freeing up bytes to be used by that map or other maps.)
    - in the map editor, click on a part of the map to initiate adding a new
      component. the three types of component are single (one tile), block
      (the most common; either a solid block or outline, optionally hatched
      with a secondary tile), and serial (a block of tiles taken sequentially
      from the tileset, useful for things like castles and tall doors).
    - when you edit one or more maps, then save the maps collectively,
      fledermaus writes all maps back to the rom (providing space exists),
      and automatically updates all room data with correctly adjusted map
      pointers. because of this, if you choose to delete a map entirely (to
      create more space for other map edits), you must nominate another map
      that any rooms that were using the map you deleted can be assigned
      instead. this map is called a "default map". the same concept applies
      when you're editing npc data lists.
  
  * fight tweaks
    - the combat code in ffl/saga contains a number of bugs. fledermaus
      includes the ability to fix (and unfix) some of these, in the "Fight
      Tweaks" submenu of the "Misc" menu. brief descriptions of these bugs
      are in fmtweaks.txt.

possibly to do

  * better gui presentation?
  * better text editing?
  * better graphics import?
  * better room data organisation?
  * better event editing?
  * better sound editing?
  * better menu editing?
  * better everything?

acknowledgements

  * FFL
  * BGB
  * Alex Jackson
  * granz
  * Ed
  * yuandy
  * Amuseum

--
